Self-clocking glyph codes are suitable for transferring digital values of various types (e.g., machine control instructions, data values, memory pointers, and executable binaries) back and forth synchronously between the electronic and hardcopy domains. They, therefore, are a promising interface technology for integrating hardcopy documents and computer controlled electronic document processing systems more or less seamlessly.
A self-clocking glyph code typically is generated by mapping logically ordered digital input values of predetermined bit length, n, into a predefined set of 2.sup.n graphically unique symbols (i.e., "glyphs"), each of is preassigned to the encoding of a different one of the permissible input values. Thus, each of the input values is transformed into and encoded by a corresponding glyph. These glyph encodings, in turn, are written on a hardcopy recording medium in accordance with a predetermined spatial formatting rule, thereby producing a glyph code that encodes the input values and preserves their logical ordering.
As will be appreciated, a code of the foregoing type carries the clock signal that is required for transferring the encoded digital values from the hardcopy domain to the electronic domain synchronously. Every input value is represented by a corresponding glyph, so the clock is embedded in the spatial distribution of the logically ordered glyphs. This is why these codes are referred to as "self-clocking" glyph codes. As will be appreciated, the self-clocking characteristic of these codes increases their tolerance to the distortion they may experience when subjected to ordinary photocopying and/or facsimile reproduction. See a copending and commonly assigned Bloomberg et al. U.S. Patent Application that was filed Jul. 31, 1990 under Ser. No. 07/560,514 on "Self-Clocking Glyph Shape Codes", which abandoned in favor of continuing application Ser. No. 07/931,554 filed Aug. 18, 1992 which, in turn, was abandoned in favor of continuing application Ser. No. 08/240,798 filed May 10, 1994, which hereby is incorporated by reference.
Another of the known advantages of these self-clocking glyph codes is that they can be composed of glyphs that are graphically distinguished from each other by machine detectable characteristics that are not easily perceived by the human eye. Thus, these codes can be used for recording machine readable digital information on hardcopy documents, without significantly degrading the esthetic quality of those documents. For instance, the glyphs can be written using inks that are virtually invisible to the human eye under normal lighting conditions. Even more remarkably, glyphs written using visible inks, such as standard xerographic toners, can be of such a small uniform size and written at a sufficiently high spatial density that the resulting glyph code has a generally uniform textured appearance to the human eye. As pointed out in the aforementioned Bloomberg et al. application, digital values can be encoded in the rotation or profiles of such glyphs if the glyphs are rotationally variant or invariant, respectively. Also see the copending and commonly assigned U. S. Patent Applications of Rob F. Tow that were filed Dec. 27, 1990 under Ser. Nos. 07/634,990 and 07/634,371 on "Method and Means for Embedding Machine Readable Digital Data in Halftone Images" now U.S. Pat. No. 5,315,098, which issued May 24, 1994 and "Psychophysically Enhanced Techniques for Embedding Machine Readable Data in Grayscale Images" now abandoned, respectively.
Prior self-clocking glyph codes are especially well suited for encoding single bit digital values ("1" or "0"). Some of these codes also are useful for encoding short (e.g., two bit long) multi-bit values, but the cost and complexity of decoding these known codes tend to increase exponentially as a function of the bit lengths of the digital values that are encoded in their glyphs. This follows from the general rule that 2.sup.n filtering steps are required for decoding a glyph code encoding of n-bit long digital values when n&gt;1. Accordingly, there is a need for self-clocking glyph codes that are better suited for encoding multi-bit digital values.